import Mock from 'mockjs';

const projectList = Mock.mock({
	'list|33': [
		{
			name: '@cname', // 中文名
			account: `@word`, // 英文单词
			phone: /1[3-9][0-9]{9}/, // 正则模式
			deptName: /[1-2]/, // Mock.mock('@cword(2,4)') 随机2-4字中文单词
			createDate: new Date().toLocaleString(),
			sex: /[1-3]/,
			witchs: false,
			num: /^((?!0)\d{1,2}|100)$/,
			checkData: [ 1, 2 ],
			id: '@guid', // guid
			img:
				'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhellorfimg.zcool.cn%2Fpreview%2F98381876.jpg&refer=http%3A%2F%2Fhellorfimg.zcool.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1670577192&t=cf605564eb796f83c81d18bedbac1231'
		}
	]
});

export default [
	{
		// 获取数据
		url: '/Api/Project/GetList',
		type: 'get',
		response: (res) => {
			if (res.query) {
				let { current, size } = res.query;
				const start = (current - 1) * size;
				const end = current * size;

				// 没错，你应该已经猜到了，res.body就是我们传入到接口的数据，我们可以在这里做些逻辑操作
				// res包含完整的请求头信息
				return {
					code: 200,
					message: '操作成功',
					data: {
						total: projectList.list.length,
						list: projectList.list.slice(start, end)
					}
				};
				// 使用return返回前端需要的数据
			} else {
				return {
					code: 200,
					message: '操作成功',
					data: []
				};
			}
		}
	},
	{
		// 添加
		url: '/Api/Project/add',
		type: 'post',
		response: (res) => {
			const newList = Mock.mock({
				'list|1': [
					{
						id: '@guid', // guid
						...res.body
					}
				]
			});
			console.log(newList);
			projectList.list = [ ...[ newList.list ], ...projectList.list ];
			// 没错，你应该已经猜到了，res.body就是我们传入到接口的数据，我们可以在这里做些逻辑操作
			// res包含完整的请求头信息
			return {
				code: 200,
				message: '操作成功',
				data: projectList
			};
			// 使用return返回前端需要的数据
		}
	},
	{
		// 删除
		url: '/Api/Project/del',
		type: 'get',
		response: (res) => {
			if (res.query) {
				let ids = res.query.id.split(',');
				ids.forEach((item) => {
					let index = projectList.list.findIndex((a) => a.id === item);
					if (index != -1) {
						projectList.list.splice(index, 1);
					}
				});
				return {
					code: 200,
					message: '操作成功'
				};
			}
		}
	},
	{
		// 修改
		url: '/Api/Project/edit',
		type: 'post',
		response: (res) => {
			let index = projectList.list.findIndex((a) => a.id === res.body.id);
			if (index != -1) {
				projectList.list.splice(index, 1, res.body);
				return {
					code: 200,
					message: '操作成功'
				};
			} else {
				return {
					code: 201,
					message: '未找到对应数据!!'
				};
			}
		}
	},
	// 详情
	{
		url: '/Api/Project/detail',
		type: 'get',
		response: (res) => {
			let index = projectList.list.findIndex((a) => a.id === res.query.id);
			if (index != -1) {
				return {
					code: 200,
					message: '操作成功',
					data: projectList.list[index]
				};
			} else {
				return {
					code: 201,
					message: '未找到对应数据!!'
				};
			}
		}
	}
];
